package cn.dglydrpy.study.algorithm.od;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * @author Yyy
 * @date 2024/11/10 11:14
 * @description 双指针
 * 绘图笔初始在原点 (0,0)，按规则绘制直线，沿横坐标正向直到终点 E，期间可按指令在纵坐标轴方向偏移（正数正向，负数负向），
 * 计算绘制直线与横坐标轴及 x = E 直线组成图形的面积。
 * 
 输入：
 4 10
 1 1
 2 1
 3 1
 4 -2
 输出：
 12
 */
public class Od0033_Area {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()){
            String[] s = scanner.nextLine().split(" ");
            int n = Integer.valueOf(s[0]);
            int maxX = Integer.valueOf(s[1]);
            
            Map<Integer,Integer> map = new HashMap<>();
            for(int i = 0; i<n; i++){
                s = scanner.nextLine().split(" ");
                map.put(Integer.valueOf(s[0]),Integer.valueOf(s[1]));
            }
            
            int ans = myAnswer(map,maxX);
            System.out.println(ans);
            
        }
    }

    private static int myAnswer(Map<Integer,Integer> map, int maxX) {
        int ans = 0;
        if(map == null || map.size() == 0 || maxX == 0){
            return ans;
        }
        
        int lastY = 0;
        for(int i = 1; i<=maxX; i++){

            int curY = lastY;
            if(map.containsKey(i-1)){
                curY = lastY + map.get(i-1);
                lastY = curY;
            }

            ans += Math.abs(curY);
        }
        
        return ans;
        
    }
}
